home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 07 - 1991 / 07.02 Feb 91 / MTPhoneB ƒ / Phone Source.text < prev   
Encoding:
Text File  |  1991-01-04  |  2.1 KB  |  93 lines  |  [TEXT/nX^n]

  1. Global Procedures for MTPB
  2. © MacTutor Magazine, February 1991
  3.  
  4. f_format_number
  5.     `Pretty-process a phone number
  6.     `Examples: 
  7.     `format_number("3131234567")->(313)123-4567
  8.     `format_number("3131234567";"313")->123-4567
  9.     `Arguments:$1 = raw phone number
  10.     `            $2 = area code to drop, if any.
  11.     `Return Value: $0 = formatted result.
  12. If (Length($1)>0)
  13.     If (Length($2)=3)
  14.         `The caller wants to zap an area code...
  15.         If (Substring($1;1;3)=$2)
  16.             `Omit the area code    
  17.             $0:=Substring($1;4;3)+ "-" +
  18.                 Substring($1;7;4)
  19.         Else 
  20.             `Keep it    
  21.             $0:="("+Substring($1;1;3)+") " +
  22.                 Substring($1;4;3) + "-" +
  23.                 Substring($1;7;4)
  24.     End if 
  25.   Else 
  26.     `Caller wants the area code no matter what
  27.     $0:="(" + Substring($1;1;3)+")" + 
  28.         Substring($1;4;3) + "-" +
  29.         Substring($1;7;4)
  30.   End if 
  31. End if 
  32.  
  33. p_display
  34. `Display all records in the phone book
  35. DEFAULT FILE([Phone Book])
  36. ALL RECORDS
  37. OUTPUT LAYOUT([Phone Book];"Output Layout")
  38. MODIFY SELECTION
  39.  
  40. p_print_sel
  41. `Print the records last selected by the user
  42. DEFAULT FILE([Phone Book])
  43. If (Records in selection=0)
  44.     ALERT("You haven't selected any records
  45.       to print!")
  46. Else 
  47.     OUTPUT LAYOUT([Phone Book];"Output Layout")
  48.     PRINT SELECTION([Phone Book])
  49. End if 
  50.  
  51. p_print_tbl
  52. `Print all records in the phone book
  53. DEFAULT FILE([Phone Book])
  54. ALL RECORDS
  55. OUTPUT LAYOUT([Phone Book];"Output Layout")
  56. PRINT SELECTION([Phone Book])
  57.  
  58. p_search
  59. `Let the user perform a search on the database
  60. DEFAULT FILE([Phone Book])
  61. SEARCH
  62. If (OK=1)
  63.     OUTPUT LAYOUT([Phone Book];"Output Layout")
  64.     DISPLAY SELECTION
  65. End if 
  66.  
  67. p_sort
  68. `Permanently sort the database, and display
  69. `results to the user.
  70. DEFAULT FILE([Phone Book])
  71. OPEN WINDOW(110;100;390;260;0;"Sort The Database")
  72. DIALOG("Sort Dialog")
  73. `Note: the actual sorting takes place in the script
  74. `      associated with the "ok" button, but is
  75. `      omitted here for brevity.
  76. CLOSE WINDOW
  77. If (g_display=True)
  78.   p_display 
  79. End if 
  80.  
  81. p_labels
  82. DEFAULT FILE([Phone Book])
  83. ALL RECORDS
  84. PRINT LABEL([Phone Book];" ")
  85.  
  86. p_new
  87. `Add new records(s) until the user cancels
  88. DEFAULT FILE([Phone Book])
  89. INPUT LAYOUT([Phone Book];"Input Layout")
  90. Repeat 
  91.     ADD RECORD
  92. Until (OK=0)
  93.